package cn.elead.chaos.remote.web.system.service;

import java.util.List;

import cn.elead.chaos.mybatils.web.page.TableDataInfo;
import cn.elead.chaos.remote.web.system.domain.SysDictType;
import feign.Param;
import feign.QueryMap;
import feign.RequestLine;

/**
 * 字典类型Service接口
 * 
 * @author luopeng
 * @date 2020-02-26 15:09:15
 */
public interface IRemoteDictTypeService 
{

	/**
	 * 查询字典类型分页列表
	 * 
	 * @param sysDictType 字典类型
	 * @return 字典类型集合
	 */
	@RequestLine("GET /system/dict/type/page")
	public TableDataInfo<SysDictType> page(@QueryMap SysDictType sysDictType);

	/**
     * 查询字典类型列表
     * 
     * @param sysDictType 字典类型
     * @return 字典类型集合
     */
    @RequestLine("GET /system/dict/type/list")
    public List<SysDictType> list(@QueryMap SysDictType sysDictType);

    /**
     * 查询字典类型
     * 
     * @param dictId 字典类型ID
     * @return 字典类型
     */
    @RequestLine("GET /system/dict/type/{dictId}")
    public SysDictType getInfo(@Param("dictId") Long dictId);


    /**
     * 新增字典类型
     * 
     * @param sysDictType 字典类型
     * @return 结果
     */
    @RequestLine("POST /system/dict/type") 
    public int add(SysDictType sysDictType);

    /**
     * 修改字典类型
     * 
     * @param sysDictType 字典类型
     * @return 结果
     */
    @RequestLine("PUT /system/dict/type") 
    public int edit(SysDictType sysDictType);

    /**
     * 批量删除字典类型
     * 
     * @param dictIds 需要删除的字典类型ID
     * @return 结果
     */
   	@RequestLine("DELETE /system/dict/types/{dictId}")
    public int remove(@Param("dictId") String dictId);
    
    

	/**
	 * 获取字典选择框列表
	 */
    @RequestLine("DELETE /system/dict/type/optionselect") 
    public List<SysDictType> optionselect();
}